Satellite-based navigational systems provide accurate, three dimensional position information to worldwide users. Prior art satellite-based navigational systems, however, utilize a time consuming search process for determining position information. Time consuming search processes are undesirable in navigational systems particularly when the user is moving or in an emergency situation requiring immediate assistance.
FIG. 1 depicts a well-known satellite-based navigational system referred to as Global Positioning System (GPS) 10. GPS 10 comprises a plurality of satellites 12-j and at least one GPS receiver 14, where j=1,2, . . . ,n. Each satellite 12-j orbiting earth at a known speed vj and being a known distance apart from the other satellites 12-j. Each satellite 12-j transmits a GPS signal 11-j which includes a carrier signal with a known frequency f modulated using a unique pseudo-random noise (PN-j) code and navigational data (ND-j) associated with the particular satellite 12-j, wherein the PN-j code includes a unique sequence of PN chips and navigation data ND-j includes a satellite identifier, ephemeris information and orbital data, such as elevation angle αj and azimuth angle φj. FIG. 2 depicts a typical 20 ms frame of the GPS signal 11-j which comprises twenty full sequences of a PN-j code in addition to a sequence of navigation data ND-j.
GPS receiver 14 comprises an antenna 15 for receiving GPS signals 11-j, a plurality of correlators 16-k for detecting GPS signals 11-j and a processor 17 having software for determining a position using the navigation data ND-j, where k=1,2, . . . ,m. GPS receiver 14 detects GPS signals 11-j via PN-j codes. Detecting GPS signals 12-j involves a correlation process wherein correlators 16-k are used to search for PN-j codes in a carrier frequency dimension and a code phase dimension. Such correlation process is implemented as a real-time multiplication of a phase shifted replicated PN-j codes modulated onto a replicated carrier signal with the received GPS signals 11j, followed by an integration and dump process.
In the carrier frequency dimension, GPS receiver 14 replicates carrier signals to match the frequencies of the GPS signals 11-j as they arrive at GPS receiver 14. However, due to the Doppler effect, the frequency f at which GPS signals 11-j are transmitted changes an unknown amount Δfj before GPS signal 11-j arrives at GPS receiver 14—that is, each GPS signal 11-j should have a frequency f+Δfj when it arrives at GPS receiver 14. To account for the Doppler effect, GPS receiver 14 replicates the carrier signals across a frequency spectrum fspec ranging from f+Δfmin to f+Δfmax until the frequency of the replicated carrier signal matches the frequency of the received GPS signal 11-j, wherein Δfmin and Δfmax are a minimum and maximum change in frequency GPS signals 11-j will undergo due to the Doppler effect as they travel from satellites 12-j to GPS receiver 14, i.e., Δfmin≦Δfj≦Δfmax.
In the code phase dimension, GPS receiver 14 replicates the unique PN-j codes associated with each satellite 12-j. The phases of the replicated PN-j codes are shifted across code phase spectrums Rj(spec) until replicated carrier signals modulated with the replicated PN-j codes correlate, if at all, with GPS signals 11-j being received by GPS receiver 14, wherein each code phase spectrum Rj(spec) includes every possible phase shift for the associated PN-j code. When GPS signals 11-j are detected by correlators 16-k, GPS receiver 14 extracts the navigation data ND-j from the detected GPS signals 11-j and uses the navigation data ND-j to determine a location for GPS receiver 14, as is well-known in the art.
Correlators 16-k are configured to perform parallel searches for a plurality of PN-j codes across the frequency spectrum fspec and the code phase spectrums Rj(spec). In other words, each of the plurality of correlators 16-k are dedicated to searching for a particular PN-j code across each possible frequency between f+Δfmin to f+Δfmax and each possible for that PN-j code. When a correlator 16-k completes its search for a PN-j code, the correlator 16-k searches for another PN-j code across each possible frequency between f+Δfmin to f+Δfmax and each possible phase shift for that PN-j code. This process continues until all PN-j codes are collectively searched for by the plurality of correlators 16-k. For example, suppose there are twelve satellites 12-j, thus there would be twelve unique PN-j codes. If GPS receiver 14 has six correlators 16-k, then GPS receiver 14 would use its correlators 16-k to search for two sets of six different PN-j codes at a time. Specifically, correlators 16-k search for the first six PN-j codes, i.e., correlator 16-1 searches for PN-1, correlator 16-2 searches for PN-2, etc. Upon completing the search for the first six PN-j codes, correlators 16-k search for the next six PN-j codes, i.e., correlator 16-1 searches for PN-7, correlator 16-2 searches for PN-8, etc.
For each PN-j code being searched, correlator 16-k performs an integration and dump process for each combination of frequency and phase shifts for that PN-j code. For example, suppose the frequency spectrum fspec includes 50 possible frequencies for the carrier signal and the code phase spectrum Rj(spec) for a PN-j code includes 2,046 possible half-chip phase shifts. To search for every possible combination of frequency and half-chip phase shifts for the PN-j code, the correlator 16-k would then need to perform 102,300 integrations. A typical integration time for correlators 16-k is 1 ms, which is generally sufficient for GPS receiver 14 to detect GPS signals 11-j when antenna 15 has a clear view of the sky or a direct line-of-sight to satellites 12-j. Thus, for the above example, 102.3 seconds would be required for one correlator 16-k to search every possible combination of frequency and half-chip phase shifts for a PN-j code.
GPS receivers, however, are now being incorporated into mobile-telephones or other types of mobile communication devices which do not always have a clear view of the sky. Thus, GPS receiver 14 will not always have a clear view of the sky. In this situation, the signal-to-noise ratios of GPS signals 11-j received by GPS receiver 14 are typically much lower than when GPS receiver 14 does have a clear view of the sky, thus making it more difficult for GPS receiver 14 to detect the GPS signals 11j. To compensate for weaker signal-to-noise ratios and enhance detection of GPS signals 11-j, correlators 16-k can be configured with longer integration times. A sufficient integration time, in this case, would be approximately 1 second. Thus, for the example above, 102,300 seconds would be required for a correlator 16-k to search for every possible combination of frequency and half-chip phase shifts for a PN-j code. Longer integration times result in longer acquisition times for detecting GPS signals 11-j. Longer acquisition times are undesirable.
Wireless assisted GPS (WAG) systems were developed to facilitate detection of GPS signals 11-j by GPS receivers configured with short or long integration times. The WAG system facilitates detection of GPS signals 11-j by reducing the number of integrations to be performed by correlators searching for GPS signals 11-j. The number of integrations is reduced by narrowing the frequency range and code phase ranges to be searched. Specifically, the WAG system limits the search for GPS signals 11-j to a specific frequency or frequencies and to a range of code phases less than the code phase spectrum Rj(spec) during time intervals referred to herein as search windows.
FIG. 3 depicts a WAG system 20 comprising a WAG server 22, a plurality of base stations 23 and at least one WAG client 24. WAG server 22 includes a GPS receiver 26 having an antenna 27 installed in a known stationary location with a clear view of the sky. GPS receiver 26 would typically have correlators configured with short integration times because antenna 27 has a clear view of the sky. WAG server 22 being operable to communicate with base stations 23 either via a wired or wireless interface. Each base station 23 has a known location and provides communication services to WAG clients located within a geographical area or cell 25 associated with the base station 23, wherein each cell 25 is a known size and is divided into a plurality of sectors. WAG client 24 includes a GPS receiver 28 and perhaps a mobile-telephone 27, and is typically in motion and/or in an unknown location with or without a clear view of the sky. GPS receiver 28 having correlators typically configured with long integration times. Note that the term “mobile-telephone,” for purposes of this application, shall be construed to include, but is not limited to, any communication device.
FIG. 4 is a flowchart 300 illustrating the operation of WAG system 20. In step 310, WAG server 22 detects a plurality of satellites 12-j via their GPS signals 11-j using its GPS receiver 26. WAG server 22 acquires the following information from each detected satellite 12-j: the identity of satellite 12-j and frequency fj, code phase, elevation angle αj and azimuth angle φj associated with the detected satellite 12-j, wherein the elevation angle αj is defined as the angle between the line of sight from WAG server 22 or client 24 to a satellite 12-j and a projection of the line of sight on the horizontal plane, and the azimuth angle φj is defined as the angle between the projection of the line of sight on the horizontal plane and a projection of the north direction on the horizontal plane. See FIG. 5, which depicts an elevation angle αj and an azimuth angle φj corresponding to a satellite 12-j and a WAG server 22 or WAG client 24.
In step 315, WAG server 22 receives sector information from base station 23 currently in communication with or serving WAG client 24, wherein the sector information indicates a sector WAG client 24 is currently located. In step 320, WAG server 22 makes an initial estimate of WAG client's position based on the known location of the serving base station, the cell size associated with the serving base station, the sector in which WAG client 24 is currently located, and the one way delay between the WAG client 24 and the serving base station. In one embodiment, WAG server 22 initially estimates that WAG client 24 is located at a reference point within the sector, e.g., point at approximate center of sector. In another embodiment, WAG server 22 initially estimates WAG client 24's position using well-known enhanced forward link triangulation (EFLT) techniques.
In step 330, for each detected satellite 12-j, WAG server 22 uses the information acquired from the detected GPS signals 11-j to predict, for a reference time tj, a frequency fj(r) at the reference point, a code phase search range Rj(sect) which includes all possible code phases for GPS signal 11-j arriving anywhere within the sector or an estimated area smaller than the sector where WAG client 24 is currently located, wherein reference time tj is a GPS time. In step 340, WAG server 22 transmits a search message to the serving base station 23, wherein the search message includes, for each detected satellite 12-j, information regarding the associated PN-j code, predicted frequency fj(r), code phase search range Rj(sect) and reference time tj.
In step 350, serving base station 23 transmits the search message to WAG client 24 which, in step 360, begins a parallel search within search windows indicated by reference times tj for the satellites 12-j indicated in the search message. Specifically, WAG client 24 will use its correlators to simultaneously search for each of the GPS signals 11-j at the predicted frequency fj(r) within the limitations of the code phase search range Rj(sect) and search windows indicated by reference times tj. Thus, the number of integrations is reduced to the predicted frequency fj(r) within the limitations of the code phase search range Rj(sect).
In order for WAG client 24 to properly perform the search, WAG client 24 needs to be synchronized to GPS time such that WAG client 24 searches for GPS signals 11-j at the appropriate times as indicated by reference time tj which, as mentioned earlier, is a GPS time. WAG client 24 is typically synchronized to a system time, which is corresponds to timing used to synchronize base station 23 to other base stations 23 belonging to a same wireless communications system. If the system time is synchronized with GPS time, WAG client 24 will understand GPS time and search for GPS signals 11-j at the appropriate times as indicated by reference times tj. Wireless communications systems based on the well-known IS-95 or IS-2000 standard utilize a system time that is synchronized with GPS time. However, wireless communications systems based on other standards, such as W-CDMA, TDMA or GSM, do not utilize a system time that is synchronized with GPS time. In such wireless communications system, WAG client 24 would need to receive reference times tj expressed in terms of system time, or would need to be able to synchronize itself to GPS time. Accordingly, there exists a need to derive accurate GPS timing so that WAG technology can be applied to wireless communications systems not synchronized with GPS timing.